# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Kirby & The Amazing Mirror Template

game: Kirby & The Amazing Mirror
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    Kirby & The Amazing Mirror: 0.3.0 # Version of the world required for this yaml to work as expected.

Kirby & The Amazing Mirror:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  shards:
    # Controls where Mirror Shards can appear.
    # 
    # - Vanilla: Each area's boss defeat location contains its matching shard.
    # - Completely Random: Shards can appear from any location. Default.
    vanilla: 0
    completely_random: 50

  #########################
  # Make the game shorter #
  #########################
  goal:
    # Determines what your goal is to consider the game beaten.
    # 
    # - Dark Mind: Defeat Dark Mind and beat the game.
    # - Defeat Any Area Boss: Defeat any one eligible area boss.
    # - Defeat Configured Area Boss: Defeat the selected area boss target.
    # - Defeat Random Hidden Area Boss: Defeat one hidden, seed-selected area boss.
    dark_mind: 50
    defeat_any_area_boss: 0
    defeat_configured_area_boss: 0
    defeat_random_hidden_area_boss: 0

  configured_area_boss:
    # Selects which area boss is used when the goal is set to Defeat Configured Area Boss.
    # 
    # The default target is the Master Hand + Crazy Hand pair.
    # This option is ignored unless `goal` is set to `defeat_configured_area_boss`.
    king_golem: 0
    moley: 0
    kracko: 0
    mega_titan: 0
    gobbler: 0
    wiz: 0
    dark_meta_knight: 0
    master_hand_crazy_hand_pair: 50

  ########################
  # Make the game easier #
  ########################
  start_with_all_maps:
    # Start the game with all nine area maps already acquired.
    #   Off by default. Intended for new players who find exploring unmapped areas daunting.
    #   All map items are removed from the item pool and replaced with filler.
    'false': 50
    'true': 0

  #############################
  # Make the game last longer #
  #############################
  room_sanity:
    # Adds room-visit checks (for example, `Room X-*`). Off by default because it adds 263 locations.
    'false': 50
    'true': 0

  ########################
  # Make the game harder #
  ########################
  ability_gating:
    # Enable gating for abilities. Gated abilities are turned on by receiving an AP item.
    # On by default.
    'false': 0
    'true': 50

  enable_traps:
    # Allow negative trap items to appear in the randomized item pool.
    # Off by default.
    # When disabled, no KirbyAM traps are placed.
    'false': 50
    'true': 0

  trap_fill_percentage:
    # Sets what percentage of eligible filler slots become traps when `Enable Traps` is on.
    # 
    # Eligible filler slots are the locations left after all progression/useful items are placed.
    # Trap items are sampled with replacement, so duplicate traps are allowed when the pool is large enough.
    # 
    # - 0: No filler slots become traps.
    # - 25: One quarter of eligible filler slots become traps. Default.
    # - 100: Every eligible filler slot becomes a trap.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    25: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  no_extra_lives:
    # Start with zero lives and clamp all extra-life gains to zero during gameplay.
    #   Starts after the tutorial. Off by default.
    # 
    #   Yes, you can combine this with One-Hit Mode for an extra challenge.
    'false': 50
    'true': 0

  one_hit_mode:
    # Controls whether Kirby's maximum health is reduced to 1 HP at the start (one-hit mode).
    #   Starts after the tutorial. Off by default.
    #   Yes, you can combine this with No Extra Lives for an extra challenge.
    # 
    # - Off: Kirby's maximum health is unmodified (native 6 HP base, plus 1 per
    #     Vitality Counter found).
    # - Exclude Vitality Counters: Kirby starts with a maximum of 1 HP. All four Vitality Counter items are
    #     removed from the item pool and replaced with filler. Kirby's HP cap stays at 1 for the entire run.
    # - Include Vitality Counters: Kirby starts with a maximum of 1 HP. Vitality Counter items remain in the
    #     pool; each one received increases Kirby's HP cap by 1 (up to 5 with all four). This is known to
    #     cause a visual artifact on the screen when a vitality counter is received, but it is functional.
    'off': 50
    exclude_vitality_counters: 0
    include_vitality_counters: 0

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  #########################
  # Ability Randomization #
  #########################
  ability_randomization_mode:
    # Controls randomization of enemy-granted copy abilities.
    # If statue randomization is enabled, statues inherit this same mode.
    # 
    # - Off: Enemy copy abilities stay at native defaults. Default.
    # - Shuffled: Enemy types are remapped deterministically so all enemies of the
    #     same type grant the same ability.
    # - Completely Random: Eligible enemy ability grants are remapped independently
    #     (deterministic per grant event).
    'off': 50
    shuffled: 0
    completely_random: 0

  ability_randomization_statues:
    # Include ability statues (sometimes called ability trophies or ability stands)
    # in copy-ability randomization.
    # 
    # This toggle only controls whether statues participate at all.
    # Only applies when Ability Randomization Mode is not Off.
    # Participating statues use the currently selected Ability Randomization Mode
    # (Off, Shuffled, or Completely Random).
    # Randomized statues always grant an ability and do not use
    # `ability_randomization_no_ability_weight` or
    # `ability_randomization_passive_enemies`.
    # Randomized statues do respect `ability_randomization_minny`.
    # 
    # Off by default.
    'false': 50
    'true': 0

  ability_randomization_passive_enemies:
    # When enabled, enemies that normally do not grant a copy ability can receive a
    # randomized ability.
    #   Only applies when Ability Randomization Mode is not Off.
    #   Enemy sources only. Ability statues are not affected by this toggle.
    # 
    #   On by Default, but ability_randomization_mode is Off by Default.
    'false': 0
    'true': 50

  ability_randomization_no_ability_weight:
    # Sets the percentage chance that an included randomized enemy grant resolves to
    # no ability instead of a copy ability.
    # 
    # - 0: Included randomized enemies always grant a copy ability.
    # - 55: 55% of included randomized enemies grant no ability, 45% grant a copy ability.
    #         Default. This matches the in-game percentage when enemies that normally
    #         grant no ability are included in the randomization pool.
    # - 100: Included randomized enemies always grant no ability.
    # 
    # This only affects enemies already included by the ability randomization mode and
    # the boss/miniboss/passive-enemy toggles.
    # Ability statues are not affected; randomized statues always grant an ability.
    # 
    #     You can set a custom percentage by adding a custom number as the subkey,
    #     then supply the "percentage" chance for generation to roll that value.
    #   For example:
    #     25: 50
    # The above says you want 25% of ability granting enemies to provide no ability
    # instead of a copy ability, and 75% to provide a copy ability. Further,
    #     25: 10
    #     50: 10
    #     75: 10
    #         The above says you want generation to have equal chances of creating
    #         worlds where 25%, 50%, and 75% of ability granting enemies provide no
    #         ability instead of a copy ability.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    55: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  ability_randomization_boss_spawns:
    # Include boss-spawned ability grants in randomization.
    #   Only applies when Ability Randomization Mode is not Off.
    #   On by Default, but ability_randomization_mode is Off by Default.
    'false': 0
    'true': 50

  ability_randomization_minibosses:
    # Include mini-boss ability grants in randomization.
    #   Only applies when Ability Randomization Mode is not Off.
    #   On by Default, but ability_randomization_mode is Off by Default.
    'false': 0
    'true': 50

  ability_randomization_minny:
    # Include Minny in copy-ability randomization.
    #         Only applies when Ability Randomization Mode is not Off.
    #         If ability statue randomization is enabled, statues also respect this toggle.
    #         Off by Default.
    'false': 50
    'true': 0

  #############
  # Cosmetics #
  #############
  starting_kirby_color:
    # Choose Kirby's default starting color palette.
    #   Pink is the in-game default. The resolved color is embedded in the
    # generated patch and applied before Kirby's first gameplay palette loads.
    # 
    # Supported color names (as listed on Kirby Wiki Spray Paint):
    #   Pink, Yellow, Red, Green, Snow, Carbon, Ocean, Sapphire, Grape, Emerald, Orange, Chocolate, Cherry, Chalk
    # 
    # Set to `random_color` to resolve to one supported color at generation.
    random_color: 0
    pink: 50
    yellow: 0
    red: 0
    green: 0
    snow: 0
    carbon: 0
    ocean: 0
    sapphire: 0
    grape: 0
    emerald: 0
    orange: 0
    chocolate: 0
    cherry: 0
    chalk: 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
